package com.vhans.db.service;

import com.vhans.core.domain.BandwidthGroups;
import com.vhans.db.model.dto.ConditionDTO;
import com.vhans.db.model.dto.bandwidthgroups.BandwidthGroupsDTO;
import com.vhans.db.model.vo.bandwidthgroups.*;

import java.util.List;

/**
 * 带宽和安全组Service接口
 * 
 * @author vhans
 * @date 2023-05-20
 */
public interface IBandwidthGroupsService {

    /**
     * 查询带宽和安全组列表
     * 
     * @param condition 条件
     * @return 带宽和安全组集合
     */
    List<BandwidthGroupsVO> selectBandwidthGroupsVOList(ConditionDTO condition);

    /**
     * 新增带宽和安全组
     * 
     * @param bandwidthGroups 带宽和安全组
     * @return 插入id
     */
    Integer insertBandwidthGroups(BandwidthGroupsDTO bandwidthGroups);

    /**
     * 获取带宽和安全组编辑信息
     *
     * @param id 带宽和安全组主键
     * @return 带宽和安全组
     */
     BandwidthGroupsInfoVO selectBandwidthGroupsInfoById(Integer id);

    /**
     * 修改带宽和安全组
     * 
     * @param bandwidthGroups 带宽和安全组
     */
    void updateBandwidthGroups(BandwidthGroupsDTO bandwidthGroups);

    /**
     * 批量删除带宽和安全组
     * 
     * @param idList 需要删除的带宽和安全组主键列表
     * @return 影响行
     */
    int deleteBandwidthGroupsByIdIdList(List<Integer> idList);
}
